home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / ViePratique / gnucash / gnucash-2.6.5-setup.exe / {app} / bin / gnc-fq-check < prev    next >
Text File  |  2014-12-19  |  3KB  |  104 lines

  1. #!/c/gcdev/gnucash-2.6.5a/mingw/msys/1.0/bin/perl -w
  2. ######################################################################
  3. ### gnc-fq-check - check for the presence of  Finance::Quote
  4. ### From gnc-fq-helper.
  5. ### Copyright 2001 Rob Browning <rlb@cs.utexas.edu>
  6. ### 
  7. ### This program is free software; you can redistribute it and/or    
  8. ### modify it under the terms of the GNU General Public License as   
  9. ### published by the Free Software Foundation; either version 2 of   
  10. ### the License, or (at your option) any later version.              
  11. ###                                                                  
  12. ### This program is distributed in the hope that it will be useful,  
  13. ### but WITHOUT ANY WARRANTY; without even the implied warranty of   
  14. ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    
  15. ### GNU General Public License for more details.                     
  16. ###                                                                  
  17. ### You should have received a copy of the GNU General Public License
  18. ### along with this program# if not, contact:
  19. ###
  20. ### Free Software Foundation           Voice:  +1-617-542-5942
  21. ### 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
  22. ### Boston, MA  02110-1301,  USA       gnu@gnu.org
  23. ######################################################################
  24.  
  25. use strict;
  26. use English;
  27. use FileHandle;
  28.  
  29. =head1 NAME
  30.  
  31. gnc-fq-check  -  check for the presence of Finance::Quote
  32.                  From gnc-fq-helper
  33.  
  34. =head1 SYNOPSIS
  35.  
  36. gnc-fq-check
  37.  
  38. =head1 DESCRIPTION
  39.  
  40. Input: <none>
  41.  
  42. Output (on standard output, one output form per input line):
  43.  
  44. A list of quote sources supported by Finance::Quote, or the single
  45. term missing-lib if finance quote could not be executed.
  46.  
  47. Exit status
  48.  
  49. 0 - success
  50. non-zero - failure
  51.  
  52. =cut
  53.  
  54. sub check_modules {
  55.   my @modules = qw(Finance::Quote LWP HTTP::Request::Common HTML::TableExtract Crypt::SSLeay Date::Manip);
  56.   my @missing;
  57.  
  58.   foreach my $mod (@modules) {
  59.     if (eval "require $mod") {
  60.       $mod->import();
  61.     }
  62.     else {
  63.       push (@missing, $mod);
  64.     }
  65.   }
  66.  
  67.   return unless @missing;
  68.  
  69.   print STDERR "\n";
  70.   print STDERR "You need to install the following Perl modules:\n";
  71.   foreach my $mod (@missing) {
  72.     print STDERR "  ".$mod."\n";
  73.   }
  74.  
  75.   print STDERR "\n";
  76.   print STDERR "Use your system's package manager to install them,\n";
  77.   print STDERR "or run 'gnc-fq-update' as root.\n";
  78.  
  79.   print "missing-lib\n";
  80.  
  81.   exit 1;
  82. }
  83.  
  84. #---------------------------------------------------------------------------
  85. # Runtime.
  86.  
  87. # Check for and load non-standard modules
  88. check_modules ();
  89.  
  90. # Create a stockquote object.
  91. my $quoter = Finance::Quote->new();
  92. my $prgnam = "gnc-fq-check";
  93.  
  94. my @qsources;
  95. my @sources = $quoter->sources();
  96. foreach my $source (@sources) {
  97.   push(@qsources, "\"$source\"");
  98. }
  99. printf "(\"%s\" %s)\n", $Finance::Quote::VERSION, join(" ", qq/@qsources/);
  100.  
  101. ## Local Variables:
  102. ## mode: perl
  103. ## End:
  104.